SFPPutFile
SFPPutFile Initiate a customized Save/Save As... dialog
#include <StandardFile.h> Standard File Package
void SFPPutFile(where, prompt, origName, dlgHook, reply ,
dlgID, dlgEvtFilter );
Point where ; coordinates for topLeft of dialog window
Str255 prompt ; e.g.,"\pSave Current Document as:
Str255 origName ; default filename displayed in input box
ProcPtr dlgHook ; NIL= standard; else=addr of custom routine
SFReply *reply ; address of structure; receives return info
short dlogID; resource ID of dialog box to use
ProcPtr dlgEvtFilter ; function for filtering events; NIL=none
SFPPutFile is the same as SFPutFile (the standard way to obtain a
filename for a "Save" or "Save As..." operation) except it provides for more
advanced customization.
where is a screen location, expressed in global ( screen) coordinates. The
top-left corner of the dialog window is positioned at this point.
prompt is the address of a length-prefixed Pascal-style string containing
text to be displayed above the input area.
origName is the address of a length-prefixed Pascal-style string containing
the default filename to be displayed in the input area. It should be the
name of the current document or an empty string ("\p").
dlgHook is the address of a custom procedure that handles the dialog. Use
dlgHook =NIL to use standard dialog handling. See SFPutFile.
reply is the address of a variable-length SFReply structure. On entry, its
contents are ignored. Upon return, it contains the results of the
dialog, including the user-input filename.
dlogID is the resource ID of a dialog template ('DLOG') to be used. The
named constant putDlgID (-3999) can be used to bring up the
standard dialog template.
dlgEvtFilter is the address of a procedure that will be executed directly after
ModalDialog performs the standard event filtering. Use NIL if you
want just the normal filtering.
Returns: none

Notes: This works just like SFPutFile with the addition of the two parameters
dlogID and dlgEvtFilter .
Using SFPPutFile and specifying a custom dlogID is better than
replacing the standard resource, since it avoids problems associated with
Desk Accessories that rely on the standard dialog.
The dlgEvtFilter parameter identifies a function that provides additional
filtering or modification of dialog events; e.g., it could interpret
command-key keystrokes as editing actions, etc. This function should work
the same way as the dlgEvtFilter described under ModalDialog.